#ifndef ClassItem_First
#define ClassItem_First
#ifdef __GNUG__
#pragma interface
#endif

#include "TextItem.h"

class Class;

//---- PeClassItem -------------------------------------------------------------

enum PeClassItemFlags {
	eClItemCollapsed =   BIT(eVObjLast+1)
};

class PeClassItem: public TextItem {
public:
	Class *cl;

public:
	MetaDef(PeClassItem);
	PeClassItem(int id, Class *cl, const char *label= 0);
	Class *GetClass()
		{ return cl; }
	const char *ClassName();
	int Compare(Object*);
	bool IsEqual(Object*);

	Metric GetMinSize();
	void DrawInner(Rectangle r, bool b);
};

//---- PeObjectItem ------------------------------------------------------------

class PeObjectItem: public TextItem {
	Object *op;
public:
	MetaDef(PeObjectItem);
	PeObjectItem(int id, Object *op, Font *fp= gFixedFont);
	PeObjectItem(int id, char *, Object *op, Font *fp= gFixedFont);
	PeObjectItem(char *, Object *op, Font *fp= gFixedFont);
	Object *GetObject()
		{ return op; }
};

#endif

